#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>

int main(int argv, char *argc[])
{
	if(argv < 2)
	{
		printf("parameter error\r\n");
		return -1;
	}
	
	if(strcmp(argc[1], "rename") == 0)
	{
		if(argv < 4)
		{
			printf("parameter error\r\n");
			return -1;
		}
		
		//重命名文件或目录
		if(rename(argc[2], argc[3]) == -1)
			printf("rename falied\r\n");
		else
			printf("rename succeed\r\n");
		return 0;
	}
	
	if(strcmp(argc[1], "unlink") == 0)
	{
		if(argv < 3)
		{
			printf("parameter error\r\n");
			return -1;
		}
		
		//删除文件
		if(unlink(argc[2]) == -1)
			printf("unlink falied\r\n");
		else
			printf("unlink succeed\r\n");
	}
	
	if(strcmp(argc[1], "mkdir") == 0)
	{
		if(argv < 3)
		{
			printf("parameter error\r\n");
			return -1;
		}
		
		//创建目录
		if(mkdir(argc[2], 0777) == -1)
			printf("mkdir falied\r\n");
		else
			printf("mkdir succeed\r\n");
	}
	
	if(strcmp(argc[1], "rmdir") == 0)
	{
		if(argv < 3)
		{
			printf("parameter error\r\n");
			return -1;
		}
		
		//删除目录
		if(rmdir(argc[2]) == -1)
			printf("rmdir falied\r\n");
		else
			printf("rmdir succeed\r\n");
	}
	
	if(strcmp(argc[1], "remove") == 0)
	{
		if(argv < 3)
		{
			printf("parameter error\r\n");
			return -1;
		}
		
		//删除目录或文件
		if(remove(argc[2]) == -1)
			printf("remove falied\r\n");
		else
			printf("remove succeed\r\n");
	}
	
	if(strcmp(argc[1], "chdir") == 0)
	{
		if(argv < 3)
		{
			printf("parameter error\r\n");
			return -1;
		}
		
		//改变当前工作路径
		if(chdir(argc[2]) == -1)
			printf("chdir falied\r\n");
		else
			printf("chdir succeed\r\n");
		system("ls -l");
	}
	return 0;
}